Methods and systems for an in-line automated inspection of a mechanical part

ABSTRACT

A method of in-line automated inspection of a mechanical part comprising receiving a mechanical part datum, orienting the mechanical part datum within a representative inspection system, and examining each face of the plurality of faces of the mechanical part datum, wherein examining each face of the plurality of faces of the mechanical part datum comprises dividing the face into regions as a function of stylus tip data. The method comprises generating a fixture adapter model for the mechanical part datum as a function of a local region of the mechanical part datum, generating a measurement of at least a pair of part geometric data, wherein generating a measurement comprises selecting the at least a pair of part geometric data as a function of the at least an alignment datum and displaying the measurement of at least the pair of part geometric data. The method comprises producing the fixture adapter.

RELATED APPLICATION DATA

This application is a continuation of Non-provisional application Ser.No. 16/803,341 filed on Feb. 27, 2020 and entitled “METHODS AND SYSTEMSFOR AN IN-LINE AUTOMATED INSPECTION OF A MECHANICAL PART,” the entiretyof which is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention generally relates to the field of computer-aideddesign and structure fabrication. In particular, the present inventionis directed to methods and systems for an in-line automated inspectionof a mechanical part.

BACKGROUND

Inspection of manufactured parts typically includes measuring,examining, testing and/or gauging one or more characteristics of a partand comparing the results with the specified requirements to determineif the requirements for each characteristic are properly met. A commonlyimplemented means of inspection in manufacturing is by utilizing acoordinate-measuring machine (CMM). Coordinate-measuring machinestraditionally requires an extensive amount of upfront programming time.The programming generally consists of translating a component/partprint, containing measurement dimensions of interest, to the userinterface of a measurement software, such as PC-DMIS, a Hexagon product,or Calypso, a Zeiss product. This process typically requires trainedpower users of the software and is relatively time-consuming. Due to theneed of trained power users and time, this process is not apt to easyscalability if you are looking to create inspection routines for manyparts very quickly. Additionally, the CMM requires extensive amounts oftime for planning, configuring, and setting up the manufactured part tobe measured. Due to the need for a manufactured part to be completelystatic when being measured by the CMM and the need for the CMM to beknowledgeable of the placement of the part to properly perform ameasurement, one of the most time and skilled labor-intensive steps isestablishing precisely where on the table the part has been fastened,referred to as alignment. Thus, it is often extremely challenging toinspect a manufactured part quickly and in a scalable manner utilizing acoordinate-measuring machine.

SUMMARY OF THE DISCLOSURE

In an aspect, a method of an in-line automated inspection of amechanical part is presented. The method comprises receiving amechanical part datum from a user device. The method comprisesorienting, by an automated operator at an inspection module, themechanical part datum within a representative inspection system, whereinthe representative inspection system comprises a visual representationof a coordinate-measuring machine and fixturing system. The methodcomprises examining, at the inspection module, each face of theplurality of faces of the mechanical part datum, wherein examining eachface of the plurality of faces of the mechanical part datum comprisesdividing the face into regions as a function of stylus tip data. Themethod comprises generating, at the inspection module, a fixture adaptermodel for the mechanical part datum as a function of a local region ofthe mechanical part datum. The method comprises generating, at theinspection module, a measurement of at least a pair of part geometricdata, wherein generating a measurement comprises selecting, by theautomated operator, the at least a pair of part geometric data as afunction of the at least an alignment datum and displaying, to theautomated operator on a graphical user interface, the measurement of atleast the pair of part geometric data. The method comprises producingthe fixture adapter.

In another aspect, a system of an in-line automated inspection of amechanical part is presented. The system is designed and configured toreceive a mechanical part datum from a user device. The system isfurther designed and configured to orient, by an automated operator atan inspection module, the mechanical part datum within a representativeinspection system, wherein the representative inspection systemcomprises a visual representation of a coordinate-measuring machine andfixturing system. The system is further designed and configured toexamine, at the inspection module, each face of the plurality of facesof the mechanical part datum, wherein examining each face of theplurality of faces of the mechanical part datum is designed andconfigured to divide the face into regions as a function of stylus tipdata. The system is further designed and configured to generate, at theinspection module, a fixture adapter model for the mechanical part datumas a function of a local region of the mechanical part datum. The systemis further designed and configured to generate, at the inspectionmodule, a measurement of at least a pair of part geometric data, whereingenerating a measurement is designed and configured to select, by theautomated operator, the at least a pair of part geometric data as afunction of the at least an alignment datum and display, to theautomated operator on a graphical user interface, the measurement of atleast the pair of part geometric data. The system is further designedand configured to produce the fixture adapter.

These and other aspects and features of non-limiting embodiments of thepresent invention will become apparent to those skilled in the art uponreview of the following description of specific non-limiting embodimentsof the invention in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

For the purpose of illustrating the invention, the drawings show aspectsof one or more embodiments of the invention. However, it should beunderstood that the present invention is not limited to the precisearrangements and instrumentalities shown in the drawings, wherein:

FIG. 1 is a high-level block diagram illustrating an embodiment of asystem for an in-line automated inspection of a mechanical part;

FIG. 2 illustrates a block diagram of an embodiment of an inspectiondatabase;

FIG. 3A-B are computer renderings of an embodiment of a fixture adaptermodel;

FIG. 4A-B are computer renderings of an embodiment of a fixturingsystem;

FIG. 5A-C are computer renderings of an embodiment of functionalinstallation of a fixture adapter and a fixturing system;

FIG. 6A-B are computer renderings of an embodiment of functionalinstallation of a formed mechanical part and a fixture adapter;

FIG. 7 is a process flow diagram illustrating an embodiment of a methodof an in-line automated inspection of a mechanical part;

FIG. 8 is a process flow diagram illustrating an embodiment of a methodof an in-line automated inspection of a mechanical part; and

FIG. 9 is a block diagram of a computing system that can be used toimplement any one or more of the methodologies disclosed herein and anyone or more portions thereof.

The drawings are not necessarily to scale and may be illustrated byphantom lines, diagrammatic representations and fragmentary views. Incertain instances, details that are not necessary for an understandingof the embodiments or that render other details difficult to perceivemay have been omitted.

DETAILED DESCRIPTION

At a high level, aspects of the present disclosure are directed tomethods and systems for in-line automated inspection of a mechanicalpart. Part alignment is a laborious part of existing CMM programming andvarious strategies exist for different circumstances. These are employedthrough the operator by experience and involve using discrete points theCMM touches to establish part alignments. A difficulty of existing CMMprogramming includes measuring many different geometries sequentially,in a short amount of time, primarily the individual set-up andchange-over processes. Embodiments of the methods and systems hereindescribe a means for in-line automated inspection of a mechanical partby a novel process which automates many of the features of inspectiontraditionally requiring manual manipulation, automating the alignmentprocesses, and automatically generating fixtures for use in known,standardized locations within the system's novel configuration. In anembodiment, the novel in-line automated inspection of a mechanical partcomprises receiving a mechanical part datum from a user device,orienting the mechanical part datum within a representative inspectionsystem, wherein the representative inspection system comprises a visualrepresentation of a coordinate-measuring machine and fixturing system,generating a fixture adapter model for the mechanical part datum as afunction of a local region of the mechanical part datum, examining eachface of the plurality of faces of the mechanical part datum, whereinexamining each face of the plurality of faces of the mechanical partdatum comprises dividing the face into regions as a function of stylustip data, generating a measurement of at least a pair of part geometricdata, wherein generating a measurement comprises selecting the at leasta pair of part geometric data as a function of the at least an alignmentdatum and displaying the measurement of at least the pair of partgeometric data, and producing the fixture adapter.

Referring now to FIG. 1, a block diagram of system 100 of an in-lineautomated inspection of a mechanical part is presented. System 100 isconfigured to inspect the formed mechanical part and can includecomputing device 104, mechanical part datum 108, inspection module 116,fixture adapter model 136, inspection database 132, graphical userinterface (GUI) 120, coordinate-measuring machine 124, fixturing system128, and any combination thereof.

Still referring to FIG. 1, system 100 is configured to include computingdevice 104. Computing device 104 may include any computing device asdescribed herein, including without limitation, a microcontroller,microprocessor, digital signal processor (DSP) and/or system on a chip(SoC) as described herein. Computing device may include, be included in,and/or communicate with a mobile device such as a mobile telephone orsmartphone. Computing device may include, be included in, and/orcommunicate with an automated manufacturing device, such as an additivemanufacturing device, subtractive manufacturing device, injectionmolding device, and the like. Computing device 104 may include a singlecomputing device operating independently, or may include two or morecomputing device operating in concert, in parallel, sequentially or thelike; two or more computing devices may be included together in a singlecomputing device or in two or more computing devices. Computing device104 with one or more additional devices as described below in furtherdetail via a network interface device. Network interface device may beutilized for connecting a computing device 104 to one or more of avariety of networks, and one or more devices. Examples of a networkinterface device include, but are not limited to, a network interfacecard (e.g., a mobile network interface card, a LAN card), a modem, andany combination thereof. Examples of a network include, but are notlimited to, a wide area network (e.g., the Internet, an enterprisenetwork), a local area network (e.g., a network associated with anoffice, a building, a campus or other relatively small geographicspace), a telephone network, a data network associated with atelephone/voice provider (e.g., a mobile communications provider dataand/or voice network), a direct connection between two computingdevices, and any combinations thereof. A network may employ a wiredand/or a wireless mode of communication. In general, any networktopology may be used. Information (e.g., data, software etc.) may becommunicated to and/or from a computer and/or a computing device.Computing device 104 may include but is not limited to, for example, acomputing device 104 or cluster of computing devices in a first locationand a second computing device or cluster of computing devices in asecond location. Computing device 104 may include one or more computingdevices dedicated to data storage, security, distribution of traffic forload balancing, and the like. Computing device 104 may distribute one ormore computing tasks as described below across a plurality of computingdevices of computing device, which may operate in parallel, in series,redundantly, or in any other manner used for distribution of tasks ormemory between computing devices. Computing device 104 may beimplemented using a “shared nothing” architecture in which data iscached at the worker, in an embodiment, this may enable scalability ofsystem 100 and/or computing device.

With continued reference to FIG. 1, computing device 104 may be designedand/or configured to perform any method, method step, or sequence ofmethod steps in any embodiment described in this disclosure, in anyorder and with any degree of repetition. For instance, computing device104 may be configured to perform a single step or sequence repeatedlyuntil a desired or commanded outcome is achieved; repetition of a stepor a sequence of steps may be performed iteratively and/or recursivelyusing outputs of previous repetitions as inputs to subsequentrepetitions, aggregating inputs and/or outputs of repetitions to producean aggregate result, reduction or decrement of one or more variablessuch as global variables, and/or division of a larger processing taskinto a set of iteratively addressed smaller processing tasks. Computingdevice 104 may perform any step or sequence of steps as described inthis disclosure in parallel, such as simultaneously and/or substantiallysimultaneously performing a step two or more times using two or moreparallel threads, processor cores, or the like; division of tasksbetween parallel threads and/or processes may be performed according toany protocol suitable for division of tasks between iterations. Personsskilled in the art, upon reviewing the entirety of this disclosure, willbe aware of various ways in which steps, sequences of steps, processingtasks, and/or data may be subdivided, shared, or otherwise dealt withusing iteration, recursion, and/or parallel processing.

Continuing to refer to FIG. 1, system 100 is configured to receivemechanical part datum 108 from user device 112. Mechanical part datum108, as used herein, includes any data describing and/or relating to athree-dimensional model of a part to be manufactured. Mechanical partdatum 108 may include any data describing and/or relating to athree-dimensional model of a mechanical part, a non-functional part, anon-mechanical part, a cosmetic part, and/or any combination thereof,wherein the part is to be manufactured. Manufacturing may include,without limitation, additive manufacturing, subtractive manufacturing,injection molding, and the like. Mechanical part datum may include,without limitation, a computer model of a part to be manufactured. Acomputer model, as described herein, is a digital model of a physicalstructure as created using computer-aided design (CAD) modelingsoftware. For example and without limitation, computer-aided design(CAD) software may include SOLIDWORKS® software and/or CATIA software(available from Dassault Systèmes SolidWorks Corp, Waltham, Mass.),AUTOCAD® software and/or Fusion 360 software (available from Autodesk,Inc., San Rafael, Calif.), PTC Creo software (available from PTC, Inc.,Boston, Mass.), Siemens NX software (available from Siemens PLMSoftware, Plano, Tex.) and MICROSTATION® software (available fromBentley Systems, Inc., Exton, Pa.), and the like. The computer model mayinclude any modeling type, such as, without limitation, a wireframe,solid model and/or any combination thereof. The computer model may besaved in a computer file using any suitable file protocol, such as,without limitation, SolidWorks part file (.SLDPRT), several SolidWorkspart files organized into a single assembly (.SLDASM), 3D assembly filesupported by various mechanical design programs (.STP), graphics filesaved in a solid modeling format based on the Initial Graphics ExchangeSpecification (.IGS) and/or the like. For example and withoutlimitation, the computer model further includes information about thegeometry and/or other defining properties of the mechanical part'sstructure, such as total number of faces of mechanical part datum 108,total quantity of mechanical part datum 108 for manufacture, thematerial to which the mechanical part datum 108 is to be manufactured,manufacturing process to be used for the mechanical part datum 108.Persons skilled in the art, upon reviewing the entirety of thisdisclosure, will be aware of various datums which may be suitable foruse as mechanical part datum consistently with this disclosure.

With continued reference to FIG. 1, user device 112 may be configuredto, without limitation, transfer a transmission of communication tocomputing device 104. Transmission may include any transmission asdescribed herein. For example and without limitation, transmission mayinclude file transfer protocols such as File Transfer Protocol (FTP),Hypertext Transfer Protocol (HTTP), SSH File Transfer Protocol (SFTP),Secure Copy (SCP), Accelerated File Transfer Protocol (AFTP), and thelike. User device 112 may include an additional computing device, suchas a mobile device, laptop, desktop computer, tablet, and the like. Asan example and without limitation, user device 112 may be a computerand/or workstation operated by an engineering professional. Personsskilled in the art, upon reviewing the entirety of this disclosure, willbe aware of various devices which may be suitable for use as user clientdevice consistently with this disclosure. Though the illustratedembodiment of FIG. 1 depicts only one user device in communication withcomputing device 104, in other embodiments two or more user devices maybe in communication with computing device 104 and each be configured totransmit a transmission of data, wherein the data may include datarelevant to the inspection design, such as critical dimensions requiringmeasurements and tolerances.

With continued reference to FIG. 1, system 100 may include inspectionmodule 116 operating on computing device 104. Inspection module 116 mayinclude any hardware and/or software module. Inspection module 116 isconfigured to orient, by an automated operator, the mechanical partdatum 108 within a representative inspection system. The representativeinspection system comprises a visual representation of acoordinate-measuring machine and fixturing system. Orientation may bedisplayed to an automated operator using graphical user interface 120.Automated operator, as used herein, is a person, hardware, and/orsoftware which engages in any step and/or combination of steps of themanufacturing process of the mechanical part. A step of themanufacturing process may include, for example and without limitation,receiving a mechanical part datum from a user client device, orientingthe mechanical part datum within a representative inspection system,and/or any step utilizing the coordinate-measuring machine. For exampleand without limitation, an automated operator may include a personinteracting with system 100, wherein a person may further include aninspection designer who builds the fixture model and specifiesmeasurements, a floor operator running the MINI using the program andfixtures created by the designer, and the like.

With continued reference to FIG. 1, GUI 120 may include withoutlimitation, a form or other graphical element having data entry fields,wherein a user may enter a user symptom datum. GUI 120 may include dataentry fields that allow for a user to enter free form textual inputs.GUI 120 may provide a representative inspection system including avisual representation of a coordinate-measuring machine and associatedfixturing system. In an embodiment, GUI 120 may further provide arepresentative inspection system including a visual representation ofthe part and stylus which allows the interactive addition ofmeasurements and alignment datums by a user, wherein a user may includean automated operator. GUI 120 may provide drop-down lists, where usersmay be able to select one or more entries to indicate one or more datumsof the fixture adapter model.

Still referring to FIG. 1, inspection module 116 is configured toorient, by an automated operator, the mechanical part datum 108 within arepresentative inspection system. As described above, the representativeinspection system comprises a visual representation of acoordinate-measuring machine 124 and fixturing system 128.Coordinate-measuring machine 124, as described herein, is a device thatmeasures the geometry of physical objects by sensing discrete points onthe surface of the object with a stylus. The stylus, for example andwithout limitation, may include mechanical, optical, laser, white light,and the like. Coordinate-measuring machine 124 may be controlled by anautomated operator, controlled by a computer, and/or both. Thecoordinate-measuring machine 124 specifies the stylus's position interms of the stylus's displacement from a specified datum of fixturingsystem 128 in a three-dimensional Cartesian coordinate system.Coordinate-measuring machine 124 may further include, as an example andwithout limitation, controlling the angle of the stylus. Thecoordinate-measuring system further includes, as another example andwithout limitation, the stylus can measure all six possible degrees offreedom. Fixturing system 128 may consist of an array of raised pillars,wherein the raised pillars include fixture adapter interfaces providingpotential support and fixturing location for an array of mechanicalparts. Orienting the mechanical part datum within the representativeinspection system is further configured to record the relative positionof the mechanical part datum as a function of a specified datum on thefixturing system 128. As described herein, the specified datum on thefixturing system 128 is a feature of fixturing system 128 specificallydetermined to be the reference surface of the fixturing system 128. Inan embodiment, the specified datum on the fixturing system 128 mayinclude for example and without limitation, the top center point of apillar determined to be pillar “A”.

Continuing to refer to FIG. 1, inspection module 116 is furtherconfigured to examine each face of a plurality of faces of themechanical part datum 108. Examining each face of mechanical part datum108 comprises dividing each face into respective regions as a functionof stylus tip data. As described herein, a face is a portion of asurface, bounded by edges, where both edges and surfaces are definedmathematically of a solid figure that a mechanical part comprises.Surfaces, for instance, may include planar surfaces, cylindricalsurface, lofted surface, defined surface, and the like. The solid figuremay further include, a triangulated, meshed and/or three-dimensionalrepresentation of the mechanical part datum. Stylus tip data, asdescribed herein, is data describing whether the tip of the stylus cantouch a given point of the representation of the mechanical part in therepresentative inspection system without inadvertently touching anyother points of the mechanical part. Dividing the face into regions as afunction of stylus tip data is further configured to determine at leasta touch region of the mechanical part datum as a function of stylus tipdata and determining at least a non-touch region of the mechanical partdatum as a function of stylus tip data. The touch region, as describedherein, is a point of the visual representation of the mechanical partin the representative inspection system where the stylus tip can touchwithout inadvertently touching another point of the visualrepresentation of the mechanical part. The non-touch region, asdescribed herein, is a point of the visual representation of themechanical part in the representative inspection system where the stylustip cannot touch without inadvertently touching another point of thevisual representation of the mechanical part. In an embodiment, system100 may provide a means of creating obstacles which affect dividing theface into regions as a function of stylus tip data as a function of themanufacturing process. For instance, injection molding may specify thatthe parting edge and ejector pin pads are obstacles to be avoided,direct machined parts may specify that tab vestiges are obstacles to beavoided, and the like.

With continued reference to FIG. 1, examining each face of the pluralityof faces of the mechanical part datum is further configured to sampleeach touch region of a plurality of touch regions of mechanical partdatum 108. Sampling, as described herein, is the selection of regionswithin the population of regions to estimate characteristics of thewhole population of regions. Sampling each touch region of the pluralityof touch regions is further configured to determine the distance fromeach touch region of the plurality of touch regions to the nearest atleast a non-touch region. Persons skilled in the art, upon reviewing theentirety of this disclosure, will be aware of various possiblevariations of sampling as well as methods that may be used to determinethe distance from each touch region of the plurality of touch regions tothe nearest at least a non-touch region.

Referring still to FIG. 1, examining each face of mechanical part datum108 is further comprises receiving, from the automated operator by thegraphical user interface 120, a manufacturing goal. As described herein,a manufacturing goal is a manufacturing constraint specific tomechanical part datum 108 in which the automated operator determines tobe a limiting factor of fixture adapter model 136 as a function ofmechanical part datum 108. As an example and without limitation, amanufacturing goal may include finding three points in which theirsurface normal point upward with a specified angle, such as cosinesimilarity, wherein the three points can be used to define a distance.For instance and without limitation, defining a distance may includedefining a plane, wherein the plane is possible to be machined utilizingany machining process and/or steps of machining processes as describedabove and the plane is oriented in a manner in which a tool can reachthe mechanical part. Cosine similarity, as used in this disclosure, is ameasure of similarity between two non-zero vectors of an inner productspace that measure the cosine of the angles between them. For exampleand without limitation, cosine similarity may be used to define a plane.As a further example and without limitation, cosine similarity may beused to define an edge. As another non-limiting example, cosinesimilarity may be used to define a line. As a further example andwithout limitation, a manufacturing goal may include finding the pointcontaining the largest positive x-axis position and containing a normalclosest to the positive x-axis. As another non-limiting example, amanufacturing goal may include staying a specific distance away fromnon-reachable regions, wherein the non-reachable region providesuncertainty on how to support the mechanical part datum. As anotherexample and without limitation, a manufacturing goal may include anangle that maps a shape of mechanical part datum 108 with the smallestdegree of error, wherein a surface feature of mechanical part datum 108may be more effectively machined from one angle as compared to anotheras measured by the cycle time to machine the surface feature. Distance,as used in this disclosure, is the shortest distance from one partgeometric data to another part geometric data, wherein the distance ismeasures from the centroid of each part geometric feature of theplurality of part geometric features. For instance, distance may becalculated from a point to the nearest point on the same or adjacentsurface that is determined to be a non-reachable region by a stylus;this is calculated in order to overcome the uncertainty in part setupposition by preferring surfaces where the stylus is less likely toinadvertently touch another surface. In an embodiment, distance may becalculated utilizing a combination of methods as of a result of a lackof concern for surfaces that bend away from a given point; for exampledistance may be calculated by inflating the stylus model until thestylus interacts with another surface or distance may be calculated bycatching areas of the surface of the part that have been determined tobe non-reachable through the non-touch region by applying pressure tothe stylus tip into the surface of the part and determining if thestylus tip intersects any surfaces determined to be non-touch regions.Calculation of distance may include without limitation any calculationand/or combination of calculations determined effective and/or efficientfor purposes of calculating distance. In an embodiment, for instance andwithout limitation, a distance may include a minimum and/or maximumthreshold distance to stay away from each non-touch region of theplurality of non-touch regions. Threshold may be set according to aconfidence interval or degree of precision in a machining process to beused, could be based off tool width, material, number of surfacefeatures, and the like. The output of a linear combination of at least amanufacturing goal and the distance from at least a touch region to thenearest non-touch region of the at least a non-touch region must beminimized. In an embodiment, the output of a linear combination mayfurther include an alignment feature datum. Alignment feature datum, asdescribed herein, is any data resulting from a calculation includingeach part geometric datum, each touch region of the plurality of touchregions, and the non-reachable regions. For instance and withoutlimitation, a calculation may include data describing the distance fromthe x-axis part extent, data describing the angle of the surface vectorfrom the −x vector, data describing the 3-D distance from an existingalignment datum. For instance, and without limitation, graphical userinterface 120 may be provided to user with a set of sliders or otheruser inputs permitting a user to indicate relative and/or absoluteimportance of each variable to the user. Sliders or other inputs may beinitialized prior to user entry as equal or may be set to default valuesbased on results of any machine-learning processes or combinationsthereof as described in further detail below. Persons skilled in theart, upon reviewing the entirety of this disclosure, will be aware ofvarious possible variations of manufacturing goals that may be receivedby the automated operator on graphical user interface 120.

With continued reference to FIG. 1, examining each face of mechanicalpart datum 108 can further include generating a loss function of thedistance from each touch region to the nearest non-touch region and themanufacturing goal. Further, examining each face can include minimizingthe loss function and selecting an alignment datum as a function ofminimizing the loss function. The loss function is minimized as afunction of the linear combination of at least a manufacturing goal andthe distance from at least a touch region to the nearest non-touchregion of the at least a non-touch region. In an embodiment, the lossfunction may further be minimized as a function of the alignment featuredatum. Alignment datum, as described herein, is any data characterizingan orientation of the mechanical part relative to a coordinate system,wherein the data may be any data associated with examining each face ofthe plurality of faces of the mechanical part datum 108. The coordinatesystem, as used in this disclosure, may include any coordinate system asdescribed above. For example and without limitation, the coordinatesystem may include a Cartesian coordinate system, wherein the systemincludes an x-axis, y-axis, and z-axis. For example and withoutlimitation, the alignment datum may include textual data, numeric data,electronic file data and/or any combination thereof. Alignment datum mayinclude, for example and without limitation, the distance from eachtouch region of the plurality of touch regions to the nearest at least anon-touch region. Alignment datum may include, as a further example andwithout limitation, at least a manufacturing goal. Alignment datum mayinclude, as another non-limiting example, any data associated with theloss function, wherein the data may be any data as described above. Inan embodiment, alignment datum may include surface point data, normalsurface point pairs data, and any combination thereof. In an embodiment,alignment data may include instructions about how alignment data may beutilized within the CMM application software and/or any hardware and/orsoftware associated with system 100. Persons skilled in the art, uponreviewing the entirety of this disclosure, will be aware of variousdatums that may be included as at least an alignment datum.

In an embodiment, inspection module 116 may compare one or morealignment datum options to a loss function representing an alignmentstrategy of the distance from each touch region of the plurality oftouch regions to the nearest non-touch region and at least amanufacturing goal. Alignment, as described herein, is the combinationof the distance from each touch region of the plurality of touch regionsto the nearest non-touch region and at least a manufacturing goal is thecombination that produces surface wherein the surface has the largestarea of touch regions determined for the mechanical part datum 108. Aloss function may include a linear combination of variables, weighted bycoefficients representing relative importance of each variable ingenerating at least an optimal alignment datum. For instance, a variablesuch as x-axis position may be multiplied by a first coefficientrepresenting the importance of x-axis position, a second variable suchas y-axis position may be multiplied by a second coefficientrepresenting the importance of y-axis position, a degree of variancefrom a specified position in the representative inspection system may berepresented as another parameter, which may be multiplied by anadditional coefficient representing an importance of that variable. Forexample and without limitation, x-axis position may be weighted higherthan x-axis direction, wherein the linear combination of variables mayinclude an x-axis position multiplied by a coefficient of 0.75 and anx-axis direction multiplied by a coefficient of 0.25. As a furtherexample and without limitation, the linear combination of variables mayinclude a variable describing a point near to the x-extent of the partmultiplied by a coefficient of 0.60 and a variable describing a surfacenormal point multiplied by a coefficient of 0.20 and a variabledescribing the largest distance from a non-touch region multiplied by acoefficient of 0.20. In an embodiment, inspection module 116 may employdifferent alignment strategies for different conditions; for instanceinspection module 116 may employ a 3-2-1 strategy for initial partalignment or a best-fit strategy for sculpted surfaces, wherein theselection of alignment strategy may be selected by the inspection module116, the automated operator, GUI 120, and/or determined automaticallyutilizing system 100. Persons skilled in the art, upon reviewing theentirety of this disclosure, will be aware of different variables thatmay be weighted by various coefficients. In an embodiment, an exampleset of manufacturing goals may be specified to find a plurality ofsurfaces to maximize the effectiveness of the best-fit alignmentstrategy, wherein the surfaces are spaced apart and the surfaces havingdifferent surface normal. Use of linear combination is provided only asan illustrative example; other loss functions may alternatively oradditionally be used, including without limitation, higher-orderpolynomial expressions or the like.

Still referring to FIG. 1, a loss function, as described herein, is anexpression of an output which an optimization algorithm minimizes togenerate an optimal result. As a non-limiting example, inspection module116 may calculate variables of each manufacturing goal, calculate anoutput of loss function using the variables, and select alignment datumthat produces an output having the lowest size, according to a givendefinition of “size” of the set of outputs representing each of theplurality of alignment datum. Size, for example and without limitation,may include absolute value, numerical size, or the like. Selection ofdifferent loss functions may result in identification of differentalignment datum as generating minimal outputs. Selection of differentloss functions may further result in identification of differentalignment feature datum as generating minimal outputs. For instance,where y-axis position is associated in a first loss function with alarge coefficient or weight, a y-axis position having a smaller positionmay minimize the first loss function, whereas a second loss functionwherein y-axis position has a smaller coefficient but degree of variancefrom a non-touch region has a larger coefficient may produce a minimaloutput for a different alignment datum and having a larger x-axisposition but more closely hewing to the nearest non-touch region. In anembodiment, at least a plurality of alignment feature datum may becalculated for each alignment strategy of the plurality of alignmentstrategies and assigned a weight for each sampled point of the pluralityof sampled points, wherein the plurality of alignment feature datum iscalculated for all the touch regions of the plurality of touch regions.

Alternatively or additionally, and still referring to FIG. 1, eachalignment datum may be represented by a loss function having the sameform as the loss function associated with the plurality of alignmentdatum. Inspection module 116 may compare the former to the latter usingan error function representing average difference between the two lossfunctions. Error function may, as a non-limiting example, be calculatedusing the average difference between coefficients corresponding to eachvariable. Alignment datum may be chosen to minimize the error function,for example alignment datum with minimal “loss” may be selected tominimize the error function. In an embodiment, the error function andloss function calculations may be combined; for instance, a variableresulting in a minimal aggregate expression of error function and lossfunction, such as a simple addition, arithmetic mean, or the like of theerror function with the loss function, may be selected, corresponding toan option that minimizes total variance from optimal variables whilesimultaneously minimizing a degree of variance from a set of prioritiescorresponding to variables. Coefficients of loss function may be scaledand/or normalized; this may permit comparison and/or error functioncalculation to be performed without skewing by varied absolutequantities of numbers.

With continued reference to FIG. 1, the loss function may be generatedusing machine learning to produce loss function. For example and withoutlimitation, the machine learning process may include linear regression,logistic regression, decision tree, SVM, Naïve Baynes,k-nearest-neighbor, k-means, random forest, dimensionality reductionalgorithms, gradient boosting algorithms, and the like. Loss functionmay be user-specific, using a training set composed of past userselections, wherein the training set may be updated continuously. Lossfunction may initially be seeded using one or more automated operatorentered manufacturing goals as described above. User may enter a newcommand changing the loss function, and then subsequent manufacturinggoals may be used to generate a new training set to modify the newexpression.

With continued reference to FIG. 1, mathematical expression and/or lossfunction may be generated using machine learning using a multi-usertraining set. The multi-user training set may be created using data of acohort of mechanical parts having similar materials, number of faces,volume, number of mechanical parts to be manufactured, total holes inmechanical part, required tool change overs, and the like. This mayalternatively or additionally be used to seed a loss function for auser, which may be modified by further machine learning and/orregression.

Referring still to FIG. 1, examining each face of the mechanical partdatum 108 further includes selecting at least an alignment datum as afunction of minimizing the loss function. Alignment datum may includeany alignment datum as described herein. Selecting at least an alignmentdatum as a function of minimizing the loss function is configured tostore the at least an alignment datum in inspection database 132, asdescribed below in more detail in reference to FIG. 2. Inspectiondatabase 132 may be implemented, without limitation, as a relationaldatabase, a key-value retrieval datastore such as a NOSQL database, orany other format or structure for use as a datastore that a personskilled in the art would recognize as suitable upon review of theentirety of this disclosure. Dataset may be stored in any suitable dataand/or data type. For instance and without limitation, a dataset mayinclude textual data, such as numerical, character, and/or string data.Textual data may include, for example and without limitation, adescription of the mechanical part and/or description of themanufacturing process associated to the mechanical part. In general,there is no limitation on forms textual data or non-textual data used asdataset may take; persons skilled in the art, upon reviewing theentirety of this disclosure, will be aware of various forms which may besuitable for use as dataset in the inspection database consistently withthis disclosure.

Continuing to refer to FIG. 1, inspection module 116 operating oncomputing device 104 is further configured to generate fixture adaptermodel 136 for the mechanical part datum 108 as a function of a localregion of the mechanical part datum 108. The local region, as describedherein, is a region of the visual representation, wherein the region hasbeen determined by the automated operator to be a necessary region tosupport by the fixture adapter model 136 during inspection. The fixtureadapter model, as used in this disclosure is a computer representationof a part used to connect the formed mechanical part to the fixturingsystem for inspection. The fixture adapter model 136 may be generated inany suitable manner, such as using CAD and/or CAM software having agraphical user interface that allows a user to manipulate computerrepresentations of the fixture adapter model, The fixture adapter model136 may be generated utilizing any computer aided design software asdescribed in the entirety of this disclosure. For instance and withoutlimitation, fixture adapter model 136 may be configured into athree-dimensional model such as a CAM model, STL model, or like that inlater steps of method 700, as described below in further detail inreference to FIG. 7, will be used to guide the operation of one or moremanufacturing devices to perform the manufacturing process to producethe fixture adapter. The fixture adapter model 136 may be configured torotate within the computer representation using any means including, forexample and without limitation the automated operator utilizing graphicuser interface 120 to rotate a part, or automatic fixturing of thefixture adapter model 136, wherein automatic fixturing further includes,without limitation, position and rotation. The fixture adapter model maybe, for example and without limitation, configured individually for eachmechanical part datum 108. The fixture adapter model, for example andwithout limitation, may include a coordinate system, wherein thecoordinate system is oriented to align to the geometric center of apillar of the fixturing system, the fixturing system may be representedas a computer model in the three-dimensional model of fixture adaptermodel 136. Generating a fixture adapter model 136 may include, forexample and without limitation, incorporating the geometry of themechanical part datum.

With continued reference to FIG. 1, inspection module 116 operating oncomputing device 104 is configured to generate fixture adapter model136, wherein generating further includes positioning a male coupler inthe fixture adapter model 136. A male coupler, as described herein, is asolid unique shape extending from the bottom-most face of fixtureadapter model 136. The male coupler of the fixture adapter model 136 isconfigured to functionally install to the female coupler of fixturingsystem 128, wherein the connection of the male coupler and the femalecoupler connect the fixture adapter model 136 to the female coupler onthe pillar of fixturing system 128. The male coupler of fixture adaptermodel 136 is described in greater detail below. Generating the fixtureadapter model 136 is further configured to include creating at least awindow in fixture adapter model 136. The at least a window, as describedherein, is a void space of the fixture adapter model 136 to allow theprobe of the coordinate-measuring system to touch the formed mechanicalpart and not touch the fixture adapter model 136. For instance, creatingat least a window in fixture adapter model 136 may include, withoutlimitation, removing small volumes of material from the computerrepresentation of the fixture adapter model 136. Generating the fixtureadapter model 136 is further configured to include positioning at leasta pocket in the fixture adapter model 136. The pocket, as describedherein, is a well in fixture adapter model 136 designed to contain anadhesive element, wherein the adhesive element is to prevent movement ofthe formed mechanical part during inspection by the coordinate-measuringmachine 124. Positioning at least a pocket may include automaticpositioning, interactive positioning by the automated operator, or anycombination thereof.

Referring still to FIG. 1, inspection module 116 operating on computingdevice 104 is configured to generate fixture adapter model 136, whereingenerating further includes inflating the mechanical part datum 108 by adimensional factor. The mechanical part datum 108 may include thethree-dimensional representative model of the mechanical part datum 108.As described herein, the dimensional factor is variable factor for eachmechanical part datum and is calculated as a function of the size of themechanical part datum, material of the mechanical part datum, and/ormanufacturing processes required to machine the mechanical part datum.The dimensional factor may represent an accommodation of any warp and/ordimensional error of the formed mechanical part or the machined fixtureadapter model 136. Generating the fixture adapter model 136 is furtherconfigured to include subtracting the mechanical part datum 108 from thefixture adapter model 136. Subtracting the mechanical part datum 108, asdescribed herein, is a 3-dimensional Boolean subtraction operation on amesh, wherein the mesh may include manufacturing request datum 108, meshmanufacturing request datum, and the like. Subtracting the mechanicalpart datum 108 from the fixture adapter model 136 may include, forexample and without limitation, extracting the mechanical part datum 108from the fixture adapter model 136, wherein only the fixture adaptermodel 136 is visible. Subtracting may include, as a further example andwithout limitation, hiding the mechanical part datum 128 to allow onlyfixture adapter model 136 to be distinguishable. Generating the fixtureadapter model 136 is further configured to include storing the fixtureadapter data in the inspection database 132. Storing the fixture adapterdata may include any steps and/or combination of steps of storing asdescribed herein. Fixture adapter data, as described herein, is any dataassociated with generating the fixture adapter model, wherein the datamay include textual data, numeric data, electronic file data and/or anycombination thereof. Fixture adapter data may include, for example andwithout limitation, the computer aided design of the fixture adaptermodel. Fixture adapter model may include, as a further example andwithout limitation, the dimensional factor used to inflate themechanical part datum. Persons skilled in the art, upon reviewing theentirety of this disclosure, will be aware of data that may be includedas fixture adapter data.

With continued reference to FIG. 1, inspection module 116 operating oncomputing device 104 is further configured to generate a measurement ofat least a pair of part geometric data. Generating a measurement isconfigured to include selecting, by the automated operator, the at leasta pair of part geometric data as a function of the alignment datum. Thepart geometric data, as described herein, is a set of part geometricdata regarded as a unit, wherein a set includes two or more. Asdescribed herein, part geometric data is a property of a solid figure.The part geometric data may include, for example and without limitation,the face of the mechanical part datum 108, such as a flat surface. As afurther example and without limitation, part geometric data may furtherinclude a mechanical part datum 108 edge, such as where at least twofaces meet. As another non-limiting example, part geometric data mayinclude a vertex of the mechanical part datum 108, such as a cornerwhere at least two edges meet. Selecting may include, for example andwithout limitation, selection by the automated operator utilizing thegraphical user interface 120. Selecting may include, for example andwithout limitation, selection by automatic processes includingmachine-learning processes. Generating a measurement can further includedisplaying, automated operator via the graphical user interface 120, themeasurement of the at least a pair of part geometric data. In anembodiment, generating a measurement may further include receivingmeasurements from data embedded in the manufacturing request datum 108and/or receiving measurements from data stored in a database, wherein adatabase may include any database as described in the entirety of thisdisclosure. As described herein, the measurement of the at least a pairof part geometric data is the size, length, or distance between the atleast a pair of part geometric data. Measurement may be generatedutilizing any unit of size, length and/or distance. For example andwithout limitation, measurement may include meter, centimeter,millimeter, micrometer, nanometer, feet, inches, yards, picas, and thelike. Persons skilled in the art, upon reviewing the entirety of thisdisclosure, will be aware of various units that may be included asmeasurements of the at least a pair of part geometric data.

Alternatively or additionally, in an embodiment, system 100 may beconfigured without the use of the fixture adapter model 126. In anembodiment, the method of an in-line automated inspection of amechanical part may be performed without the generation of the fixtureadapter model 136 for the mechanical part datum 108. As an example andwithout limitation, the method of an in-line automated inspection of amechanical part may include utilizing a universal fixture adapter model,wherein the universal fixture adapter model is configured to fit tomechanical parts sharing an element of part geometric data.

Continuing to refer to FIG. 1, inspection module 116 operating oncomputing device 1204 is configured to display the measurement of thepair of part geometric data, wherein displaying can further includeverifying, automated operator via GUI 120, the measurements of the atleast a pair of part geometric data. Verification may include, forexample and without limitation, an indication of selection by theautomated operator utilizing the graphical user interface 120.Indication of selection may include, for example and without limitation,sliders or other user inputs permitting a user to indicate relativeand/or absolute importance of each variable to the user. As a furtherexample and without limitation, indication of selection may include aninteraction with the graphical user interface 120 indicating theacceptance of the measurements of the at least a pair of part geometricdata, wherein an interaction may include selecting a button signifying‘YES’, selecting the measurement directly, matching the measurements ofthe at least a pair of part geometric data on the graphical userinterface 120, and the like. Persons skilled in the art, upon reviewingthe entirety of this disclosure, will be aware of various means ofindicating a selection that may be included as verifying themeasurements of the at least a pair of part geometric data. In anembodiment, inspection module 116 is further configured to store theverified measurement data in the inspection database 132. Storing theverified measurement data may include any step and/or combination ofsteps of storing as described herein. Verified measurement data, asdescribed herein, is any data associated with generating a measurementof at least a pair of part geometric data, wherein the data may includetextual data, numeric data, electronic file data and/or any combinationthereof. Verified measurement data may include, for example and withoutlimitation, the measurements of the at least a pair of part geometricdata as verified by the automated operator on graphical user interface120. Persons skilled in the art, upon reviewing the entirety of thisdisclosure, will be aware of data that may be included as verifiedmeasurement data.

Referring again to FIG. 1, system 100 is configured to produce fixtureadapter 140 as a function of the measurement of the at least a pair ofpart geometric data. The fixture adapter, as used in this disclosure isthe machined fixture adapter model utilizing any manufacturing processas described herein, wherein the fixture adapter model is a computermodel of the part used to connect the formed mechanical part to thefixturing system for inspection utilizing the coordinate-measuringmachine. The fixture adapter model may be, for example and withoutlimitation, manufactured utilizing manufacturing processes such as,additive manufacturing, subtractive manufacturing, injection molding,and any combination thereof. In an embodiment, Production, as describedherein may include any manufacturing process with capabilities to createfixture adapter 140. For example and without limitation, production mayinclude any step and/or combination of steps of any additivemanufacturing processes, such as three-dimensional printing. As afurther example and without limitation, production may include any stepand/or combination of steps of any subtractive manufacturing processes.As another non-limiting example, production may include any step and/orcombination of steps of any injection molding processes. Producing thefixture adapter 140 may be accomplished utilizing any materialscompatible for any manufacturing processes, as described herein.Suitable materials may include, for example and without limitation,metals, thermoplastics, thermosets, ceramics, graphite, biodegradablematerials, medical and biochemical materials, nylons, acetals,polycarbonates, and the like. Persons skilled in the art, upon reviewingthe entirety of this disclosure, will be aware of manufacturingprocesses that may be included as production.

Referring now to FIG. 2, an embodiment of an inspection database 132 isillustrated. Inspection database 132 may be implemented as a hardwareand/or software module. Inspection database 132 may be implemented,without limitation, as a relational database, a key-value retrievaldatastore such as a NOSQL database, or any other format or structure foruse as a datastore that a person skilled in the art would recognize assuitable upon review of the entirety of this disclosure. Inspectiondatabase 132 may contain datasets that may be utilized by inspectionmodule 116 and/or any hardware and/or software module operating oncomputing device 104. In an embodiment, datasets contained withininspection database 132 may be categorized and/or organized according toshared characteristics. For instance and without limitation, one or moretables contained within inspection database 132 may include fixtureadapter data table 200. Fixture adapter data table 200 may include anyfixture adapter data, as defined above in reference to FIG. 1. Thefixture adapter data table 200 may contain data describing the computeraided design of the fixture adapter model. Fixture adapter data table200 may include, as a further example and without limitation, datadescribing the dimensional factor used to inflate the mechanical partdatum 108. One or more data tables in inspection database 132 mayinclude alignment datum table 204. Alignment datum table 204 may includeany alignment datum, as described above in reference to FIG. 1. Thealignment datum table 204 may contain data associated with examiningeach face of the plurality of faces of the mechanical part datum 108,wherein the data may include textual data, numeric data, electronic filedata and/or any combination thereof. Alignment datum table 204 mayinclude, for example and without limitation, data describing thedistance from each touch region of the plurality of touch regions to thenearest at least a non-touch region. Alignment datum may include, as afurther example and without limitation, at least a manufacturing goal.One or more tables in inspection database 132 may include verifiedmeasurement data table 208. Verified measurement data table 208 mayinclude any verified measurement data as described above in reference toFIG. 1. Verified measurement data table 208 may include any dataassociated with generating a measurement of at least a pair of partgeometric data, wherein the data may include textual data, numeric data,electronic file data and/or any combination thereof. Verifiedmeasurement data table 200 may include, for example and withoutlimitation, data describing the measurements of the at least a pair ofpart geometric data as verified by the automated operator on graphicaluser interface 120. Verified measurement data table 208 may include, asa further non-limiting example, data describing part geometric dataand/or the at least a pair of part geometric data. One or more tables ininspection database 132 may include verified inspection data table 212.Verified inspection data table 212 may include any verified inspectiondata as described in further detail below. Verified inspection datatable 212 may include any data associated with inspecting, utilizing thecoordinate-measuring machine 124, the formed mechanical part anddisplaying, to the automated operator on a graphical user interface 120,the inspection data. For example and without limitation, the verifiedinspection data table 212 may include data describing the inspectiondata collected by inspecting the formed mechanical part utilizing thecoordinate-measuring machine 124. As a further example and withoutlimitation, verified inspection data table 212 may include datadescribing the verification of the inspection data by the automatedoperator utilizing the graphical user interface 120. Persons skilled inthe art, upon reviewing the entirety of this disclosure, will be awareof various data tables which may be suitable for use in inspectiondatabase 132 consistently with this disclosure.

Referring now to FIGS. 3A-B, an embodiment of the fixture adapter model136 is illustrated. The fixture adapter model 136, as described above inreference to FIG. 1, includes male coupler 300. Male coupler 300, asdescribed above, is a solid unique shape extending from the bottom-mostface of the fixture adapter model 136. The unique shape extending fromfixture adapter model 136 matches the unique shape extruded into thefemale coupler of fixturing system 128 to enable fixture adapter model136 and fixturing system 128 to enable functional installation. Fixtureadapter model 136 is designed to maintain a fixed position of the formedmechanical part during inspection utilizing the coordinate-measuringmachine 124. Fixture adapter model 136, as described above in referenceto FIG. 1, includes at least a pocket 304, wherein the at least a pocket304 is positioned by the automated operator and/or automatically. Pocket304, as described above, is a well in the fixture adapter model 136designed to contain an adhesive element, wherein the adhesive element isto prevent movement of the formed mechanical part during inspection bythe coordinate-measuring machine 124. The adhesive element may include,for example and without limitation, resins, hot melt, contact spray,acrylic, anaerobic adhesive, conductive adhesive, epoxy adhesives,pressure adhesives, and/or any combination thereof.

Referring now to FIGS. 4A-B, an embodiment of the fixturing system 128of coordinate-measuring machine 124 is illustrated. FIG. 4A illustratesa top-down view of an embodiment of fixturing system 128 incorporated incoordinate-measuring machine 124. The fixturing system 128 includes atleast a pillar 400. The at least a pillar 400 may include an array ofthe at least a pillar 400. The at least a pillar 400 includes a verticalstructure used as a support for inspection of the formed mechanical partutilizing the coordinate-measuring machine 124. For instance and withoutlimitation, the at least a pillar 400 may include fixture adapterinterfaces providing potential support and fixturing location for avariety of formed mechanical parts.

Referring now to FIGS. 5A-C, an embodiment of the fixture adapter 140being functionally installed into the at least a pillar 400 of thefixturing system 128 is illustrated. The at least a pillar 400 includesa female coupler 500. Female coupler 500, as described herein, is aunique shape extruded into the top face of the at least a pillar 400.The unique shape extruded into the at least a pillar 400 matches theunique shape of the male coupler 300 extracted from fixture adapter 140to enable functional installation. Male coupler 300 is inserted into thefemale coupler 500, as illustrated in FIG. 5A. The male coupler 300 canonly be inserted into the female coupler 500 in a single orientation.FIG. 5B illustrates the fixture adapter 140 functionally installed tothe at least a pillar 400, wherein male coupler 300 is functionallyinstalled into female coupler 500. The fixture adapter 140 will lock theproper orientation of connection to the at least a pillar 400 with aclockwise rotation by the automated operator. FIG. 5C illustrates anembodiment of the final locked orientation of the fixture adapter 140functionally installed in the at least a pillar 400 of the fixturingsystem 128.

Referring now to FIGS. 6A-B, an embodiment of fixturing system 128incorporated in coordinate-measuring machine 124 is illustrated.Fixturing system 128 includes the at least a pillar 400, wherein the atleast a pillar 400 has fixture adapter 140 functionally installed. FIG.6A illustrates the fixturing system 128 including the at least a pillar400 and the fixture adapter 140. FIG. 6B illustrates the fixturingsystem, wherein the fixture adapter 140 is functionally installed to theat least a pillar 400. Formed mechanical part 600 is attached to fixtureadapter 140. Formed mechanical part 600, as described herein, is anymechanical part datum manufactured and/or machined utilizing additivemanufacturing, subtractive manufacturing, injection molding, and/or anycombination thereof. Attachment is performed utilizing an adhesiveelement in the at least a pocket 304 of the fixture adapter 140. Theadhesive element may include any adhesive element as describedthroughout the entirety of this disclosure. The fixturing system 128,including the formed mechanical part 600 attached to the fixture adapter140 functionally installed to the at least a pillar 400, is prepared forinspection by the coordinate-measurement machine 124.

Referring now to FIG. 7, an embodiment of a method 700 for an in-lineautomated inspection of a mechanical part is illustrated. At step 705system 100 receives, at computing device 104, a mechanical part datum108 from a user device 112. Computing device 104 may include anycomputing device as described in the entirety of this disclosure. Userdevice 112 may include any user device as described herein. Mechanicalpart datum 108 may be received by system 100 utilizing any of thenetwork methodology as described herein. Mechanical part datum 108 mayinclude any mechanical part datum as described herein. Mechanical partdatum 108 may include, without limitation, a computer model of a part tobe manufactured as described herein. A computer model may include anycomputer model as described herein. For example and without limitation,computer-aided design (CAD) software may include SOLIDWORKS® softwareand/or CATIA software (available from Dassault Systèmes SolidWorks Corp,Waltham, Mass.), AUTOCAD® software and/or Fusion 360 software (availablefrom Autodesk, Inc., San Rafael, Calif.), PTC Creo software (availablefrom PTC, Inc., Boston, Mass.), Siemens NX software (available fromSiemens PLM Software, Plano, Tex.) and MICROSTATION® software (availablefrom Bentley Systems, Inc., Exton, Pa.), and the like, as describedabove in reference to FIG. 1. The computer model may include anymodeling type, such as, without limitation, a wireframe, solid modeland/or any combination thereof, as described above in reference toFIG. 1. The computer model may be saved in a computer file using anysuitable file protocol, such as, without limitation, SolidWorks partfile (.SLDPRT), several SolidWorks part files organized into a singleassembly (.SLDASM), 3D assembly file supported by various mechanicaldesign programs (.STP), graphics file saved in a 2D/3D vector formatbased on the Initial Graphics Exchange Specification (.IGS) and/or thelike, as described above in reference to FIG. 1. For example and withoutlimitation, the computer model further includes information about thegeometry and/or other defining properties of the mechanical part'sstructure, such as total number of faces of mechanical part datum 108,total quantity of mechanical part datum 108 for manufacture, thematerial to which the mechanical part datum 108 is to be manufactured,manufacturing process to be used for the mechanical part datum 108, asdescribed above in reference to FIG. 1.

Still referring to FIG. 7, at step 710, the automated operator atinspection module 116 orients the mechanical part datum 108 within arepresentative inspection system. Automated operator may include anyautomated operator, as described herein. The representative inspectionsystem comprises a visual representation of the coordinate-measuringmachine 124 and the fixturing system 128. The coordinate-measuringmachine 124 includes any coordinate-measuring machine as describedherein. Orientation may be displayed to an automated operator using anoutput graphical user interface 120. For example and without limitation,the coordinate-measuring machine 124 may further include the angle ofthe stylus, as described above in reference to FIG. 1. As a furtherexample and without limitation, the coordinate-measuring system furtherincludes the stylus can measure all six possible degrees of freedom, asdescribed above in reference to FIG. 1. The fixturing system 128includes any fixturing system as described herein. For example andwithout limitation, the fixturing system 128 may consist of an array ofraised pillars, wherein the raised pillars include fixture adapter modelinterfaces providing potential support and fixturing location for anarray of mechanical parts, as described above in reference to FIG. 1.Orienting the mechanical part datum within the representative inspectionsystem is further configured to record the relative position of themechanical part datum as a function of a specified datum on thefixturing system 128. The specified datum includes any specified datumas described above in reference to FIG. 1. For example and withoutlimitation, the specified datum on the fixturing system 128 may includethe top center point of a pillar determined to be pillar “A”, asdescribed above in reference to FIG. 1.

Continuing to refer to FIG. 7, at step 715 method 700 examines at theinspection module 116 operating on computing device 104 each face of theplurality of faces of the mechanical part datum 108. The face mayinclude any face, as described herein. Stylus tip data may include anystylus tip data as described herein, such as data describing whether thetip of the stylus can touch a given point of the visual representationof the mechanical part in the representative inspection system withoutinadvertently touching any other points of the mechanical part.Examining each face of the plurality of faces of the mechanical partdatum 108 further comprises dividing the face into regions as a functionof stylus tip data. Dividing the face into regions as a function ofstylus tip data is further configured to determine at least a touchregion of the mechanical part datum as a function of stylus tip data anddetermining at least a non-touch region of the mechanical part datum asa function of stylus tip data. The at least a touch region may includeany touch region as described herein, such as a point of the visualrepresentation of the mechanical part in the representative inspectionsystem where the stylus tip can touch without inadvertently touchinganother point of the visual representation of the mechanical part. Theat least a non-touch region may include any non-touch region asdescribed herein, such as a point of the visual representation of themechanical part in the representative inspection system where the stylustip cannot touch without inadvertently touching another point of thevisual representation of the mechanical part.

With continued reference to FIG. 7, examining each face of the pluralityof faces of the mechanical part datum by inspection module 116 operatingon computing device 104 further comprises sampling each touch region ofthe plurality of touch regions of the mechanical part datum. Samplingmay include any sampling as described herein. Sampling each touch regionof the plurality of touch regions is further configured to determine thedistance from each touch region of the plurality of touch regions to thenearest at least a non-touch region. Persons skilled in the art, uponreviewing the entirety of this disclosure, will be aware of variouspossible variations of sampling that may be used to determine thedistance from each touch region of the plurality of touch regions to thenearest at least a non-touch region.

Still referring to FIG. 7, examining each face of the plurality of facesof the mechanical part datum 108 by inspection module 116 operating oncomputing device 104 further comprises receiving, from the automatedoperator by the graphical user interface 120, at least a manufacturinggoal. At least a manufacturing goal may include any manufacturing goal,as described herein. For an example and without limitation, amanufacturing goal may include finding three points in which theirsurface normal point upward with a specified angle, wherein the threepoints can be used to define a plane, as described above in reference toFIG. 1. For a further example and without limitation, a manufacturinggoal may include finding the point with the largest positive x-axisposition and has a normal closest to the positive x-axis, as describedin further detail above in reference to FIG. 1. As another non-limitingexample, a manufacturing goal may include staying a specific distanceaway from non-reachable regions, as described above in reference toFIG. 1. For instance, and without limitation, graphical user interface120 may be provided to user with a set of sliders or other user inputspermitting a user to indicate relative and/or absolute importance ofeach variable to the user, as described above in further detail inreference to FIG. 1.

Continuing to refer to FIG. 7, examining each face of the plurality offaces of the mechanical part datum 108 by inspection module 116operating on computing device 104 further comprises generating a lossfunction as a function of the distance from each touch region of theplurality of touch regions to the nearest non-touch region and the atleast a manufacturing goal and minimizing the loss function. Lossfunction may include any of the loss function as described above infurther detail in reference to FIG. 1. Generating a loss function mayinclude generating a loss function utilizing any of the methodologies asdescribed above in reference to FIGS. 1-6. A manufacturing goal mayinclude any manufacturing goal as described above. For example andwithout limitation, inspection module 116 may compare one or morealignment datum options to a loss function representing an optimalcombination of the distance from each touch region of the plurality oftouch regions to the nearest non-touch region and the at least amanufacturing goal. Minimizing a loss function may be done utilizing anyof the methodologies as described above in reference to FIGS. 1-6. Lossfunction analysis algorithms may iterate to gradually converge towards aminimum where further tweaks to the parameters produce little or zerochanges in the loss or convergence by optimizing weights utilized bymachine learning algorithms.

Still referring to FIG. 7, examining each face of the plurality of facesof the mechanical part datum 108 by inspection module 116 operating oncomputing device 104 further comprises selecting at least an alignmentdatum as a function of minimizing the loss function. Alignment datum mayinclude any alignment datum as described herein. Alignment datum mayinclude textual data, numeric data, electronic file data and/or anycombination thereof, as described above in further detail in referenceto FIG. 1. For example and without limitation, the alignment datum mayinclude the distance from each touch region of the plurality of touchregions to the nearest at least a non-touch region, as described infurther detail above in reference to FIG. 1. Alignment datum mayinclude, as a further example and without limitation, at least amanufacturing goal, as described above in further detail in reference toFIG. 1. Selecting at least an alignment datum as a function ofminimizing the loss function is configured to store the at least analignment datum in inspection database 132, as described above in moredetail in reference to FIGS. 1-2. Inspection database 132 may includeany database as described above in reference to FIGS. 1-2. Datasetscontained within inspection database 132 may be categorized and/ororganized utilizing any of the methodologies as described above inreference to FIGS. 1-2. Storing the at least an alignment datum ininspection database 132 may include any method and/or combination ofmethods of storing as described above in reference to FIGS. 1-6.

With continued reference to FIG. 7, at step 720 method 700 generates atinspection module 116 a fixture adapter module 136 for the mechanicalpart datum 108 The fixture adapter model 136 is generated as a functionof the local region of the mechanical part datum 108. The local regionof the mechanical part datum 108 is determined by the automatedoperator. The local region of mechanical part datum 108 may include anylocal region as described above in reference to FIG. 1. The fixtureadapter model 136 may include any fixture adapter model as describedabove in further detail in reference to FIGS. 1-6. For example andwithout limitation, the fixture adapter model 136 may be configuredindividually for each mechanical part datum, as described above infurther detail in reference to FIG. 1. For another example and withoutlimitation, generating a fixture adapter model 136 may includeincorporating the geometry of the mechanical part datum, as described infurther detail above.

Referring again to FIG. 7, generating the fixture adapter model 136 atinspection module 116 further comprises positioning a male coupler inthe fixture adapter model 136. A male coupler may include any malecoupler as described above in reference to FIGS. 1-6. The male couplerof the fixture adapter model 136 is configured to functionally installto the female coupler of the fixturing system 128. Functionally installmay include any functional installation as described above in furtherdetail in reference to FIGS. 1-6. Generating the fixture adapter model136 is further configured to create at least a window in the fixtureadapter model 136. The at least a window may include any window asdescribed in further detail above in reference to FIGS. 1-6. Forinstance, creating at least a window in the fixture adapter model 136may include, without limitation, removing small volumes of material fromthe computer representation of the fixture adapter model 136, asdescribed above in further detail in reference to FIGS. 1-6. Generatingthe fixture adapter model 136 is further configured to position at leasta pocket in the fixture adapter model 136. The at least a pocket, asdescribed herein, may include any pocket as described above in referenceto FIGS. 1-6. The at least a pocket is configured and designed tocontain an adhesive element. The adhesive element may include anyadhesive element as described above in reference to FIGS. 1-6.Positioning at least a pocket may include automatic positioning,interactive positioning by the automated operator, or any combinationthereof.

With continued reference to FIG. 7, generating the fixture adapter modelfurther comprises inflating the mechanical part datum 108 by adimensional factor. The mechanical part datum 108 may include anymechanical part datum as described herein. The dimensional factor mayinclude any dimensional factor as described above in reference to FIGS.1-6. For instance, the dimensional factor may include an accommodationof any warp and/or dimensional error of the formed mechanical part orthe machined fixture adapter, as described above in further detail inreference to FIGS. 1-6. Generating the fixture adapter model 136 isfurther configured to subtract the mechanical part datum 108 from thefixture adapter model 136. Subtracting may include any step and/orcombination of steps of subtracting, as described above in reference toFIGS. 1-6. As an example and without limitation, subtracting may includehiding the mechanical part datum 128 to allow only fixture adapter model136 to be distinguishable, as described in further detail above inreference to FIGS. 1-6.

Continuing to refer to FIG. 7, generating the fixture adapter model 136by inspection module 116 operating on computing device 104 furtherincludes storing the fixture adapter data in the inspection database132. Storing the fixture adapter data may include any steps and/orcombination of steps of storing as described above in reference to FIGS.1-2. The fixture adapter data may include any fixture adapter data asdescribed above in reference to FIGS. 1-2. Fixture adapter data, asdescribed herein, is any data associated with generating the fixtureadapter model, wherein the data may include textual data, numeric data,electronic file data and/or any combination thereof. For example andwithout limitation, fixture adapter data may include the computer aideddesign of the fixture adapter model, as described above in reference toFIGS. 1-2. As a further example and without limitation, fixture adapterdata may include the dimensional factor used to inflate the mechanicalpart datum, as described above in further detail in reference to FIGS.1-2.

Referring still to FIG. 7, at step 725 method 700 further comprisesgenerating, at inspection module 116 operating on computing device 104,a measurement of at least a pair of part geometric data. Generating ameasurement is designed and configured to include selecting, by theautomated operator, the at least a pair of part geometric data as afunction of the at least an alignment datum. The at least a pair of partgeometric data is any pair of part geometric data as described above inreference to FIG. 1. Part geometric data, as described herein, mayinclude any part geometric data as described above in reference to FIGS.1-6. For example and without limitation, the part geometric data mayinclude the face of the mechanical part datum 108, as described above infurther detail in reference to FIG. 1. As a further example and withoutlimitation, part geometric data may further include a mechanical partdatum 108 edge, as described above in further detail in reference toFIG. 1. As another non-limiting example, part geometric data may includea vertex of the mechanical part datum 108, as described above in furtherdetail in reference to FIG. 1. Selection may include any step and/orcombination of steps of selection as described above in further detailin reference to FIGS. 1-6. Generating a measurement is further designedand configured to include displaying, to the automated operator on thegraphical user interface 120, the measurement of the at least a pair ofpart geometric data. The measurement of the at least a pair of partgeometric data is any measurement of the at least a pair of partgeometric data as described above in reference to FIG. 1. For exampleand without limitation, measurement may include meter, centimeter,millimeter, micrometer, nanometer, feet, inches, yards, picas, and thelike, as described in further detail above in reference to FIG. 1.

Continuing to refer to FIG. 7, displaying the measurement of the atleast a pair of part geometric data is further configured to includeverifying, by the automated operator on the graphical user interface120, the measurements of the at least a pair of part geometric data.Verification is any step and/or combination of steps of verification asdescribed above in reference to FIGS. 1-6. For example and withoutlimitation, verification may include an indication of selection by theautomated operator utilizing the graphical user interface 120, asdescribed above in further detail in reference to FIGS. 1-6. Forinstance and without limitation, indication of selection may includesliders or other user inputs permitting a user to indicate relativeand/or absolute importance of each variable to the user, as described infurther detail above. As a further example and without limitation,indication of selection may include an interaction with the graphicaluser interface 120 indicating the acceptance of the measurements of theat least a pair of part geometric data, as described above in furtherdetail in reference to FIGS. 1-6. Displaying the measurement of the atleast a pair of part geometric data is further configured to store theverified measurement data in the inspection database 132. Storing theverified measurement data may include any step and/or combination ofsteps of storing as described above in further detail in reference toFIGS. 1-2. Verified measurement data is any verified measurement data asdescribed above in reference to FIGS. 1-6. For example and withoutlimitation, verified measurement data may include the measurements ofthe at least a pair of part geometric data as verified by the automatedoperator on graphical user interface 120, as described in further detailabove in reference to FIGS. 1-6.

With continued reference to FIG. 7, at step 730 method 700 is furtherconfigured to produce the fixture adapter 140 as a function of themeasurement of the at least a pair of part geometric data. Productionmay include steps and/or combination of steps of producing the fixtureadapter 140 as described above in reference to FIG. 1. For example andwithout limitation, production may include any step and/or combinationof steps of any additive manufacturing processes, as described above infurther detail in reference to FIG. 1. As a further example and withoutlimitation, production may include any step and/or combination of stepsof any subtractive manufacturing processes, as described in furtherdetail in reference to FIG. 1. As another non-limiting example,production may include any step and/or combination of steps of anyinjection molding processes, as described above in reference to FIG. 1.Producing the fixture adapter 140 may include any materials compatiblefor any manufacturing processes, as described above in reference toFIGS. 1-6.

Referring now to FIG. 8, an embodiment of method 800 for an in-lineautomated inspection of a mechanical part to further include isillustrated, wherein method 700 is further configured to include method800. At step 805, method 800 comprises receiving, by the automatedoperator, the fixture adapter 140. The fixture adapter may include anyfixture adapter described above in reference to FIG. 1. For example andwithout limitation, the fixture adapter may include the produced fixtureadapter model 136, such as a fixture adapter model 136 produced byadditive manufacturing processes or a fixture adapter model 136 producedby subtractive manufacturing processes. The automated operator is anyautomated operator as described above in reference to FIG.

Still referring to FIG. 8, at step 810, method 800 further comprisesreceiving, by the automated operator, a formed mechanical part 600. Theformed mechanical part 600 may include any formed mechanical part, asdescribed above in reference to FIG. 6. For example and withoutlimitation, the formed mechanical part 600 may include the mechanicalpart datum 108 manufactured utilizing any step and/or combination ofsteps of subtractive manufacturing processes. As a further example andwithout limitation, the formed mechanical part 600 may include themechanical part datum 108 manufactured utilizing any step and/orcombination of steps of injection molding processes. As a furthernon-limiting example, the formed mechanical part 600 may include themechanical part datum 108 manufactured utilizing any step and/orcombination of steps of subtractive manufacturing processes.

Continuing to refer to FIG. 8, at step 815, method 800 further comprisesattaching, by the automated operator, the fixture adapter to a femalecoupler on the fixturing system. The fixture adapter 140 is any fixtureadapter as described herein. The fixture adapter 140, as described abovein reference to FIG. 1, includes male coupler 300. Male coupler 300 isany male coupler as described above in reference to FIGS. 1-6. Thefixturing system 128, as described above in reference to FIGS. 1-6,includes a female coupler 500 extending from the top of pillar 400. Thefemale coupler 500 is any female coupler as described above in referenceto FIGS. 1-6. The male coupler 300 extending from fixture adapter 140uniquely fits inside the female coupler 500 of fixturing system 128 toenable fixture adapter 140 and fixturing system 128 to functionallyinstall. Functionally install is any step and/or combination of steps offunctional installation as described above in reference to FIGS. 1-6.With fixture adapter 140 functionally installed into the fixturingsystem 128, the fixture is designed to maintain a still position to holdthe formed mechanical part during inspection utilizing thecoordinate-measuring machine 124. The male coupler 300 can only beinserted into the female coupler 500 in a single orientation. Forinstance and without limitation, the fixture adapter 140 is functionallyinstalled to the at least a pillar 400, wherein male coupler 300 isfunctionally installed into female coupler 500 and the fixture adapter140 will lock the proper orientation of connection to the at least apillar 400 with a clockwise rotation by the automated operator.

With continued reference to FIG. 8, at step 820, method 800 furthercomprises adhering, by the automated operator, the formed mechanicalpart 600 to the fixture adapter 140. Fixture adapter 140, as describedabove in reference to FIG. 1-6, includes at least a pocket 304, whereinthe at least a pocket 304 is positioned by the automated operator and/orautomatically. Adhering the formed mechanical part 600 to the fixtureadapter 140 further includes embedding an adhesive element into eachpocket 304 of the plurality of pockets 304 of the fixture adapter model136. The adhesive element is any adhesive element as described above inreference to FIGS. 1-6. For example and without limitation, the adhesiveelement may include resins, hot melt, contact spray, acrylic, anaerobicadhesive, conductive adhesive, epoxy adhesives, pressure adhesives,and/or any combination thereof. Adhering may include any adhering asdescribed above in reference to FIGS. 1-6. For example and withoutlimitation, adhering may include applying pressure to the formedmechanical part 600, wherein the formed mechanical part 600 is in thefixture adapter model 136 with each pocket 304 of the plurality ofpockets 304 containing a resin adhesive.

Referring still to FIG. 8, at step 825, method 800 further comprisesloading associated part data from inspection database 132 to thecoordinate-measuring machine 124. Associated part data is configured toinclude fixture adapter data, alignment datum, verified measurementdata, and any combination thereof. Fixture adapter data is any fixtureadapter data as described above in reference to FIGS. 1-2. Alignmentdatum is any alignment datum as described above in reference to FIGS.1-2. Verified measurement data is any verified measurement data asdescribed above in reference to FIGS. 1-2. Inspection database 132 isany inspection database as described above in reference to FIGS. 1-2.Loading associated part data, as described herein, is obtaining theassociated part data from inspection database 132 and receiving theassociated part data by coordinate-measuring machine 124.Coordinate-measuring machine 124 may include any coordinate-measuringmachine as described above in further detail in reference to FIG. 1.

Still referring to FIG. 8, at step 830, method 800 may further compriseinspecting the formed mechanical part 600 utilizing thecoordinate-measuring machine 124. Inspecting the formed mechanical part600, as described herein, is measuring the geometry of the formedmechanical part 600 by sensing discrete points on the surface of formedmechanical part 600 with a probe. The probe may include any probe asdescribed above in reference to FIG. 1. The coordinate-measuring machine124 allows probe movement along a Cartesian coordinate system, whereinthe probe has movement along the x-axis, y-axis, and z-axis. Forinstance, and without limitation, inspecting the formed mechanical part600 may include each Cartesian coordinate having a sensor to monitor theposition of the probe on each axis. The coordinate-measuring machine 124continuously samples the three sensors when the probe contacts alocation on the formed mechanical part 600 until all locations of theformed mechanical part 600 are sampled, wherein sampling furtherincludes measuring the location of one point on the surface of theformed mechanical part 600.

With continued reference to FIG. 8, at step 835, method 800 furthercomprises displaying, to the automated operator on the graphical userinterface 120, the inspection data. Inspection data, as describedherein, is any data associated with inspecting, utilizing thecoordinate-measuring machine 124, the formed mechanical part anddisplaying, to the automated operator on a graphical user interface 120,the inspection data. For example and without limitation, the verifiedinspection data may include data describing the inspection datacollected by inspecting the formed mechanical part utilizing thecoordinate-measuring machine 124. As a further example and withoutlimitation, verified inspection data may include data describing theverification of the inspection data by the automated operator utilizingthe graphical user interface 120. Persons skilled in the art, uponreviewing the entirety of this disclosure, will be aware of data whichmay be suitable for use in verified inspection data consistently withthis disclosure.

Continuing to refer to FIG. 8, displaying the inspection data furthercomprises verifying, by the automated operator on the graphical userinterface 120, the inspection data. Verification is any step and/orcombination of steps of verification as described above in reference toFIG. 1. For example and without limitation, verification may includesliders or other user inputs permitting a user to indicate relativeand/or absolute importance of each variable to the user. As a furtherexample and without limitation, verification may include an interactionwith the graphical user interface 120 indicating the acceptance of theinspection of the formed mechanical part 600, wherein an interaction mayinclude selecting a button signifying ‘YES’, selecting the inspectiondata directly. Persons skilled in the art, upon reviewing the entiretyof this disclosure, will be aware of various means of verification thatmay be included as verifying inspection data. Displaying the inspectiondata to the automated operator on graphical user interface 120 furthercomprises storing the verified inspection data in the inspectiondatabase 132. Storing the verified inspection data may include any stepand/or combination of steps of storing as described herein. Verifiedinspection data, as described herein, is any data associated withinspecting the formed mechanical part 600 by the coordinate-measuringmachine 124, wherein the data may include textual data, numeric data,electronic file data and/or any combination thereof. Verified inspectiondata may include, for example and without limitation, the measurementsgathered during inspection utilizing the coordinate-measuring machine124 as verified by the automated operator on graphical user interface120. Persons skilled in the art, upon reviewing the entirety of thisdisclosure, will be aware of data that may be included as verifiedinspection data.

Still referring to FIG. 8, displaying the inspection data furthercomprises displaying the verified inspection data to the user device112. The verified inspection data is any verified inspection data asdescribed above. The user device 112 is any user device as describedabove in reference to FIG. 1. Displaying may include any step and/orcombination of steps of displaying as described herein. For example andwithout limitation, displaying may include informing the user of theverified inspection data by utilizing the user device 112. Personsskilled in the art, upon reviewing the entirety of this disclosure, willbe aware of means of displaying that may be included as displaying theverified inspection data to the user device 112.

In an embodiment, the method may further include inspecting the formedmechanical part utilizing a probing strategy of the plurality of probingstrategies. Probing strategy includes a mean of inspecting the formedmechanical part utilizing the coordinate-measuring machine by specifyingprobe paths, vectors, forces, methods, or any other parameter suitableas a probing parameter. The probing strategy may be generated by thecomputing device, but alternative may be generated by any othercomputing device as described in the entirety of this disclosure. Theprobing strategy, for example and without limitation may be used tocontrol quantity, such as by validating the formed mechanical partmatches the mechanical part datum within a margin of error. As a furtherexample and without limitation, the probing strategy may be used toverify that features of the mechanical part, such as holes, curvature,grooves, and the like, are present, are in the correct location and thecorrect orientation. As a further example and without limitation, theprobing strategy may determine the deviation of the formed mechanicalpart from the mechanical part datum, such as a deviation of holes,deviation of curvature, deviation of protrusions, and the like. Theprobing strategy may be generated as the fixture adapter model isgenerated, after the fixture adapter model has been generated, after amachining or other manufacturing process has been completed, orgenerated at any other suitable time. Persons skilled in the art, uponreviewing the entirety of this disclosure, will be aware of means ofinspecting the formed mechanical part that may be included as probingstrategies.

It is to be noted that any one or more of the aspects and embodimentsdescribed herein may be conveniently implemented using one or moremachines (e.g., one or more computing devices that are utilized as auser computing device for an electronic document, one or more serverdevices, such as a document server, etc.) programmed according to theteachings of the present specification, as will be apparent to those ofordinary skill in the computer art. Appropriate software coding canreadily be prepared by skilled programmers based on the teachings of thepresent disclosure, as will be apparent to those of ordinary skill inthe software art. Aspects and implementations discussed above employingsoftware and/or software modules may also include appropriate hardwarefor assisting in the implementation of the machine executableinstructions of the software and/or software module.

Such software may be a computer program product that employs amachine-readable storage medium. A machine-readable storage medium maybe any medium that is capable of storing and/or encoding a sequence ofinstructions for execution by a machine (e.g., a computing device) andthat causes the machine to perform any one of the methodologies and/orembodiments described herein. Examples of a machine-readable storagemedium include, but are not limited to, a magnetic disk, an optical disc(e.g., CD, CD-R, DVD, DVD-R, etc.), a magneto-optical disk, a read-onlymemory “ROM” device, a random access memory “RAM” device, a magneticcard, an optical card, a solid-state memory device, an EPROM, an EEPROM,and any combinations thereof. A machine-readable medium, as used herein,is intended to include a single medium as well as a collection ofphysically separate media, such as, for example, a collection of compactdiscs or one or more hard disk drives in combination with a computermemory. As used herein, a machine-readable storage medium does notinclude transitory forms of signal transmission.

Such software may also include information (e.g., data) carried as adata signal on a data carrier, such as a carrier wave. For example,machine-executable information may be included as a data-carrying signalembodied in a data carrier in which the signal encodes a sequence ofinstruction, or portion thereof, for execution by a machine (e.g., acomputing device) and any related information (e.g., data structures anddata) that causes the machine to perform any one of the methodologiesand/or embodiments described herein.

Examples of a computing device include, but are not limited to, anelectronic book reading device, a computer workstation, a terminalcomputer, a server computer, a handheld device (e.g., a tablet computer,a smartphone, etc.), a web appliance, a network router, a networkswitch, a network bridge, any machine capable of executing a sequence ofinstructions that specify an action to be taken by that machine, and anycombinations thereof. In one example, a computing device may includeand/or be included in a kiosk.

FIG. 9 shows a diagrammatic representation of one embodiment of acomputing device in the exemplary form of a computer system 900 withinwhich a set of instructions for causing a control system to perform anyone or more of the aspects and/or methodologies of the presentdisclosure may be executed. It is also contemplated that multiplecomputing devices may be utilized to implement a specially configuredset of instructions for causing one or more of the devices to performany one or more of the aspects and/or methodologies of the presentdisclosure. Computer system 900 includes a processor 904 and a memory908 that communicate with each other, and with other components, via abus 912. Bus 912 may include any of several types of bus structuresincluding, but not limited to, a memory bus, a memory controller, aperipheral bus, a local bus, and any combinations thereof, using any ofa variety of bus architectures.

Memory 908 may include various components (e.g., machine-readable media)including, but not limited to, a random-access memory component, a readonly component, and any combinations thereof. In one example, a basicinput/output system 916 (BIOS), including basic routines that help totransfer information between elements within computer system 900, suchas during start-up, may be stored in memory 908. Memory 908 may alsoinclude (e.g., stored on one or more machine-readable media)instructions (e.g., software) 920 embodying any one or more of theaspects and/or methodologies of the present disclosure. In anotherexample, memory 908 may further include any number of program modulesincluding, but not limited to, an operating system, one or moreapplication programs, other program modules, program data, and anycombinations thereof.

Computer system 900 may also include a storage device 924. Examples of astorage device (e.g., storage device 924) include, but are not limitedto, a hard disk drive, a magnetic disk drive, an optical disc drive incombination with an optical medium, a solid-state memory device, and anycombinations thereof. Storage device 924 may be connected to bus 912 byan appropriate interface (not shown). Example interfaces include, butare not limited to, SCSI, advanced technology attachment (ATA), serialATA, universal serial bus (USB), IEEE 1394 (FIREWIRE), and anycombinations thereof. In one example, storage device 924 (or one or morecomponents thereof) may be removably interfaced with computer system 900(e.g., via an external port connector (not shown)). Particularly,storage device 924 and an associated machine-readable medium 928 mayprovide nonvolatile and/or volatile storage of machine-readableinstructions, data structures, program modules, and/or other data forcomputer system 900. In one example, software 920 may reside, completelyor partially, within machine-readable medium 928. In another example,software 920 may reside, completely or partially, within processor 904.

Computer system 900 may also include an input device 932. In oneexample, a user of computer system 900 may enter commands and/or otherinformation into computer system 900 via input device 932. Examples ofan input device 932 include, but are not limited to, an alpha-numericinput device (e.g., a keyboard), a pointing device, a joystick, agamepad, an audio input device (e.g., a microphone, a voice responsesystem, etc.), a cursor control device (e.g., a mouse), a touchpad, anoptical scanner, a video capture device (e.g., a still camera, a videocamera), a touchscreen, and any combinations thereof. Input device 932may be interfaced to bus 912 via any of a variety of interfaces (notshown) including, but not limited to, a serial interface, a parallelinterface, a game port, a USB interface, a FIREWIRE interface, a directinterface to bus 912, and any combinations thereof. Input device 932 mayinclude a touch screen interface that may be a part of or separate fromdisplay 936, discussed further below. Input device 932 may be utilizedas a user selection device for selecting one or more graphicalrepresentations in a graphical interface as described above.

A user may also input commands and/or other information to computersystem 900 via storage device 924 (e.g., a removable disk drive, a flashdrive, etc.) and/or network interface device 940. A network interfacedevice, such as network interface device 940, may be utilized forconnecting computer system 900 to one or more of a variety of networks,such as network 944, and one or more remote devices 948 connectedthereto. Examples of a network interface device include, but are notlimited to, a network interface card (e.g., a mobile network interfacecard, a LAN card), a modem, and any combination thereof. Examples of anetwork include, but are not limited to, a wide area network (e.g., theInternet, an enterprise network), a local area network (e.g., a networkassociated with an office, a building, a campus or other relativelysmall geographic space), a telephone network, a data network associatedwith a telephone/voice provider (e.g., a mobile communications providerdata and/or voice network), a direct connection between two computingdevices, and any combinations thereof. A network, such as network 944,may employ a wired and/or a wireless mode of communication. In general,any network topology may be used. Information (e.g., data, software 920,etc.) may be communicated to and/or from computer system 900 via networkinterface device 940.

Computer system 900 may further include a video display adapter 952 forcommunicating a displayable image to a display device, such as displaydevice 936. Examples of a display device include, but are not limitedto, a liquid crystal display (LCD), a cathode ray tube (CRT), a plasmadisplay, a light emitting diode (LED) display, and any combinationsthereof. Display adapter 952 and display device 936 may be utilized incombination with processor 904 to provide graphical representations ofaspects of the present disclosure. In addition to a display device,computer system 900 may include one or more other peripheral outputdevices including, but not limited to, an audio speaker, a printer, andany combinations thereof. Such peripheral output devices may beconnected to bus 912 via a peripheral interface 956. Examples of aperipheral interface include, but are not limited to, a serial port, aUSB connection, a FIREWIRE connection, a parallel connection, and anycombinations thereof.

The foregoing has been a detailed description of illustrativeembodiments of the invention. Various modifications and additions can bemade without departing from the spirit and scope of this invention.Features of each of the various embodiments described above may becombined with features of other described embodiments as appropriate inorder to provide a multiplicity of feature combinations in associatednew embodiments. Furthermore, while the foregoing describes a number ofseparate embodiments, what has been described herein is merelyillustrative of the application of the principles of the presentinvention. Additionally, although particular methods herein may beillustrated and/or described as being performed in a specific order, theordering is highly variable within ordinary skill to achieve methods andsystems according to the present disclosure. Accordingly, thisdescription is meant to be taken only by way of example, and not tootherwise limit the scope of this invention.

Exemplary embodiments have been disclosed above and illustrated in theaccompanying drawings. It will be understood by those skilled in the artthat various changes, omissions and additions may be made to that whichis specifically disclosed herein without departing from the spirit andscope of the present invention.

What is claimed is:
 1. A method for in-line automated inspection of amechanical part, the method comprising: receiving, by a computingdevice, a mechanical part datum from a user device, wherein themechanical part datum comprises a plurality of faces; recording, by aninspection module operating on the computing device, a relative positionof the mechanical part datum as a function of a specified datum on avisual representation of a fixturing system; examining, at theinspection module, each face of the plurality of faces of the mechanicalpart datum, wherein examining each face of the plurality of faces of themechanical part datum comprises determining at least a touch region ofeach face of the plurality of faces; generating, at the inspectionmodule, a fixture adapter model for the mechanical part datum as afunction of a local region of the mechanical part datum and the at leasta touch region of each face of the plurality of faces; generating, atthe inspection module, a measurement of at least a pair of partgeometric data, wherein generating a measurement comprises: selecting,by an automated operator, the at least a pair of part geometric data asa function of at least an alignment datum; and displaying, to theautomated operator, the measurement of the at least a pair of partgeometric data; and receiving, from the automated operator, averification of the measurement of the at least a pair of part geometricdata.
 2. The method of claim 1, wherein examining each face of theplurality of faces of the mechanical part datum further comprisesdetermining at least a non-touch region of the mechanical part datum. 3.The method of claim 2, wherein examining each face of the plurality offaces of the mechanical part datum comprises sampling the at least atouch region of the mechanical part datum.
 4. The method of claim 3,wherein sampling the at least a touch region further comprisesdetermining the distance from each touch region of the at least a touchregion to a nearest non-touch region of the at least a non-touch region.5. The method of claim 2, wherein examining each face of the pluralityof faces of the mechanical part datum comprises: receiving, from theautomated operator, at least a manufacturing goal; and selecting the atleast an alignment datum as a function of the at least a manufacturinggoal, the at least a touch region and the at least a non-touch region.6. The method of claim 5, wherein selecting the at least an alignmentdatum as a function of the at least a manufacturing goal, the at least atouch region and the at least a non-touch region further comprisesstoring the at least an alignment datum in a database.
 7. The method ofclaim 1, wherein the method further comprises receiving, by theautomated operator, the local region of the mechanical part datum. 8.The method of claim 1, wherein generating the fixture adapter modelfurther includes creating at least a window in the fixture adapter modelas a function of the mechanical part datum.
 9. The method of claim 1,wherein generating the fixture adapter model further includessubtracting the mechanical part datum from the fixture adapter model.10. The method of claim 1, wherein the method further comprises storingthe fixture adapter model and the measurement of the at least a pair ofgeometric data as a function of receiving the verification of themeasurement of the at least a pair of part geometric data.
 11. A systemof an in-line automated inspection of a mechanical part, the system isdesigned and configured to: receive, at a computing device, a mechanicalpart datum from a user device, wherein the mechanical part datumcomprises a plurality of faces; record, at an inspection moduleoperating on the computing device, a relative position of the mechanicalpart datum as a function of a specified datum on a visual representationof a fixturing system; examine, at the inspection module, each face ofthe plurality of faces of the mechanical part datum, wherein examiningeach face of the plurality of faces of the mechanical part datumcomprises determining at least a touch region of each face of theplurality of faces; generate, at the inspection module, a fixtureadapter model for the mechanical part datum as a function of a localregion of the mechanical part datum; generate, at the inspection module,a measurement of at least a pair of part geometric data, whereingenerating a measurement is designed and configured to: select, by anautomated operator, the at least a pair of part geometric data as afunction of at least an alignment datum; and display, to the automatedoperator, the measurement of the at least a pair of part geometric data;and receive, from the automated operator, a verification of themeasurement of the at least a pair of part geometric data.
 12. Thesystem of claim 11, wherein examining each face of the plurality offaces of the mechanical part datum further comprises determining atleast a non-touch region of the mechanical part datum.
 13. The system ofclaim 12, wherein examining each face of the plurality of faces of themechanical part datum comprises sampling the at least a touch region ofthe mechanical part datum.
 14. The system of claim 13, wherein samplingthe at least a touch region further comprises determining the distancefrom each touch region of the at least a touch region to a nearestnon-touch region of the at least a non-touch region.
 15. The system ofclaim 12, wherein examining each face of the plurality of faces of themechanical part datum is configured to: receive, from the automatedoperator, at least a manufacturing goal; and select the at least analignment datum as a function of the at least a manufacturing goal, theat least a touch region and the at least a non-touch region.
 16. Thesystem of claim 15, wherein selecting the at least an alignment datum asa function of the at least a manufacturing goal, the at least a touchregion and the at least a non-touch region further comprises storing theat least an alignment datum in a database.
 17. The system of claim 11,wherein the system is further configured to receive, by the automatedoperator, the local region of the mechanical part datum.
 18. The systemof claim 11, wherein generating the fixture adapter model is furtherconfigured to create at least a window in the fixture adapter model as afunction of the mechanical part datum.
 19. The system of claim 11,wherein generating the fixture adapter model is further configured tosubtract the mechanical part datum from the fixture adapter model. 20.The system of claim 11, wherein the system is further configured tostore the fixture adapter model and the measurement of the at least apair of geometric data as a function of receiving the verification ofthe measurement of the at least a pair of part geometric data.